package com.IR.shop.po;

import java.util.ArrayList;
import java.util.List;

public class PreorderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PreorderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andPreorderidIsNull() {
            addCriterion("preorderid is null");
            return (Criteria) this;
        }

        public Criteria andPreorderidIsNotNull() {
            addCriterion("preorderid is not null");
            return (Criteria) this;
        }

        public Criteria andPreorderidEqualTo(Integer value) {
            addCriterion("preorderid =", value, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidNotEqualTo(Integer value) {
            addCriterion("preorderid <>", value, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidGreaterThan(Integer value) {
            addCriterion("preorderid >", value, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidGreaterThanOrEqualTo(Integer value) {
            addCriterion("preorderid >=", value, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidLessThan(Integer value) {
            addCriterion("preorderid <", value, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidLessThanOrEqualTo(Integer value) {
            addCriterion("preorderid <=", value, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidIn(List<Integer> values) {
            addCriterion("preorderid in", values, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidNotIn(List<Integer> values) {
            addCriterion("preorderid not in", values, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidBetween(Integer value1, Integer value2) {
            addCriterion("preorderid between", value1, value2, "preorderid");
            return (Criteria) this;
        }

        public Criteria andPreorderidNotBetween(Integer value1, Integer value2) {
            addCriterion("preorderid not between", value1, value2, "preorderid");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("userid is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("userid is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(Long value) {
            addCriterion("userid =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(Long value) {
            addCriterion("userid <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(Long value) {
            addCriterion("userid >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(Long value) {
            addCriterion("userid >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(Long value) {
            addCriterion("userid <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(Long value) {
            addCriterion("userid <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<Long> values) {
            addCriterion("userid in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<Long> values) {
            addCriterion("userid not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(Long value1, Long value2) {
            addCriterion("userid between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(Long value1, Long value2) {
            addCriterion("userid not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andProidIsNull() {
            addCriterion("proid is null");
            return (Criteria) this;
        }

        public Criteria andProidIsNotNull() {
            addCriterion("proid is not null");
            return (Criteria) this;
        }

        public Criteria andProidEqualTo(Long value) {
            addCriterion("proid =", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidNotEqualTo(Long value) {
            addCriterion("proid <>", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidGreaterThan(Long value) {
            addCriterion("proid >", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidGreaterThanOrEqualTo(Long value) {
            addCriterion("proid >=", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidLessThan(Long value) {
            addCriterion("proid <", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidLessThanOrEqualTo(Long value) {
            addCriterion("proid <=", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidIn(List<Long> values) {
            addCriterion("proid in", values, "proid");
            return (Criteria) this;
        }

        public Criteria andProidNotIn(List<Long> values) {
            addCriterion("proid not in", values, "proid");
            return (Criteria) this;
        }

        public Criteria andProidBetween(Long value1, Long value2) {
            addCriterion("proid between", value1, value2, "proid");
            return (Criteria) this;
        }

        public Criteria andProidNotBetween(Long value1, Long value2) {
            addCriterion("proid not between", value1, value2, "proid");
            return (Criteria) this;
        }

        public Criteria andPronameIsNull() {
            addCriterion("proname is null");
            return (Criteria) this;
        }

        public Criteria andPronameIsNotNull() {
            addCriterion("proname is not null");
            return (Criteria) this;
        }

        public Criteria andPronameEqualTo(String value) {
            addCriterion("proname =", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotEqualTo(String value) {
            addCriterion("proname <>", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameGreaterThan(String value) {
            addCriterion("proname >", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameGreaterThanOrEqualTo(String value) {
            addCriterion("proname >=", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLessThan(String value) {
            addCriterion("proname <", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLessThanOrEqualTo(String value) {
            addCriterion("proname <=", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLike(String value) {
            addCriterion("proname like", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotLike(String value) {
            addCriterion("proname not like", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameIn(List<String> values) {
            addCriterion("proname in", values, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotIn(List<String> values) {
            addCriterion("proname not in", values, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameBetween(String value1, String value2) {
            addCriterion("proname between", value1, value2, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotBetween(String value1, String value2) {
            addCriterion("proname not between", value1, value2, "proname");
            return (Criteria) this;
        }

        public Criteria andPronumberIsNull() {
            addCriterion("pronumber is null");
            return (Criteria) this;
        }

        public Criteria andPronumberIsNotNull() {
            addCriterion("pronumber is not null");
            return (Criteria) this;
        }

        public Criteria andPronumberEqualTo(Integer value) {
            addCriterion("pronumber =", value, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberNotEqualTo(Integer value) {
            addCriterion("pronumber <>", value, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberGreaterThan(Integer value) {
            addCriterion("pronumber >", value, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("pronumber >=", value, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberLessThan(Integer value) {
            addCriterion("pronumber <", value, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberLessThanOrEqualTo(Integer value) {
            addCriterion("pronumber <=", value, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberIn(List<Integer> values) {
            addCriterion("pronumber in", values, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberNotIn(List<Integer> values) {
            addCriterion("pronumber not in", values, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberBetween(Integer value1, Integer value2) {
            addCriterion("pronumber between", value1, value2, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPronumberNotBetween(Integer value1, Integer value2) {
            addCriterion("pronumber not between", value1, value2, "pronumber");
            return (Criteria) this;
        }

        public Criteria andPropriceIsNull() {
            addCriterion("proprice is null");
            return (Criteria) this;
        }

        public Criteria andPropriceIsNotNull() {
            addCriterion("proprice is not null");
            return (Criteria) this;
        }

        public Criteria andPropriceEqualTo(Double value) {
            addCriterion("proprice =", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceNotEqualTo(Double value) {
            addCriterion("proprice <>", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceGreaterThan(Double value) {
            addCriterion("proprice >", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceGreaterThanOrEqualTo(Double value) {
            addCriterion("proprice >=", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceLessThan(Double value) {
            addCriterion("proprice <", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceLessThanOrEqualTo(Double value) {
            addCriterion("proprice <=", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceIn(List<Double> values) {
            addCriterion("proprice in", values, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceNotIn(List<Double> values) {
            addCriterion("proprice not in", values, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceBetween(Double value1, Double value2) {
            addCriterion("proprice between", value1, value2, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceNotBetween(Double value1, Double value2) {
            addCriterion("proprice not between", value1, value2, "proprice");
            return (Criteria) this;
        }

        public Criteria andProimgsIsNull() {
            addCriterion("proimgs is null");
            return (Criteria) this;
        }

        public Criteria andProimgsIsNotNull() {
            addCriterion("proimgs is not null");
            return (Criteria) this;
        }

        public Criteria andProimgsEqualTo(String value) {
            addCriterion("proimgs =", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsNotEqualTo(String value) {
            addCriterion("proimgs <>", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsGreaterThan(String value) {
            addCriterion("proimgs >", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsGreaterThanOrEqualTo(String value) {
            addCriterion("proimgs >=", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsLessThan(String value) {
            addCriterion("proimgs <", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsLessThanOrEqualTo(String value) {
            addCriterion("proimgs <=", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsLike(String value) {
            addCriterion("proimgs like", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsNotLike(String value) {
            addCriterion("proimgs not like", value, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsIn(List<String> values) {
            addCriterion("proimgs in", values, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsNotIn(List<String> values) {
            addCriterion("proimgs not in", values, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsBetween(String value1, String value2) {
            addCriterion("proimgs between", value1, value2, "proimgs");
            return (Criteria) this;
        }

        public Criteria andProimgsNotBetween(String value1, String value2) {
            addCriterion("proimgs not between", value1, value2, "proimgs");
            return (Criteria) this;
        }

        public Criteria andNormsidIsNull() {
            addCriterion("normsid is null");
            return (Criteria) this;
        }

        public Criteria andNormsidIsNotNull() {
            addCriterion("normsid is not null");
            return (Criteria) this;
        }

        public Criteria andNormsidEqualTo(Integer value) {
            addCriterion("normsid =", value, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidNotEqualTo(Integer value) {
            addCriterion("normsid <>", value, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidGreaterThan(Integer value) {
            addCriterion("normsid >", value, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidGreaterThanOrEqualTo(Integer value) {
            addCriterion("normsid >=", value, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidLessThan(Integer value) {
            addCriterion("normsid <", value, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidLessThanOrEqualTo(Integer value) {
            addCriterion("normsid <=", value, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidIn(List<Integer> values) {
            addCriterion("normsid in", values, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidNotIn(List<Integer> values) {
            addCriterion("normsid not in", values, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidBetween(Integer value1, Integer value2) {
            addCriterion("normsid between", value1, value2, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsidNotBetween(Integer value1, Integer value2) {
            addCriterion("normsid not between", value1, value2, "normsid");
            return (Criteria) this;
        }

        public Criteria andNormsdetailIsNull() {
            addCriterion("normsdetail is null");
            return (Criteria) this;
        }

        public Criteria andNormsdetailIsNotNull() {
            addCriterion("normsdetail is not null");
            return (Criteria) this;
        }

        public Criteria andNormsdetailEqualTo(String value) {
            addCriterion("normsdetail =", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailNotEqualTo(String value) {
            addCriterion("normsdetail <>", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailGreaterThan(String value) {
            addCriterion("normsdetail >", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailGreaterThanOrEqualTo(String value) {
            addCriterion("normsdetail >=", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailLessThan(String value) {
            addCriterion("normsdetail <", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailLessThanOrEqualTo(String value) {
            addCriterion("normsdetail <=", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailLike(String value) {
            addCriterion("normsdetail like", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailNotLike(String value) {
            addCriterion("normsdetail not like", value, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailIn(List<String> values) {
            addCriterion("normsdetail in", values, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailNotIn(List<String> values) {
            addCriterion("normsdetail not in", values, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailBetween(String value1, String value2) {
            addCriterion("normsdetail between", value1, value2, "normsdetail");
            return (Criteria) this;
        }

        public Criteria andNormsdetailNotBetween(String value1, String value2) {
            addCriterion("normsdetail not between", value1, value2, "normsdetail");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}